6
תגובות
שלום,
כמו שרובכם יודעים, אני מתכנת מתחיל ב OOP,
עשיתי המון דברים יפים, טובים, ומקצועיים..
אך עכשיו נתקעתי בבעיה...
אני לא יודע איך להשתמש ב SQL של OOP, (MySqli).
כלומר, אני מנסה להכניס את הקוד הזה:
לתוך המחלקה function כאן:
ובאתר, נהיה לי השגיאה הבאה:
למה לעזאזל?!
אני לא יודע מה לעשות עם זה..
כמו שרובכם יודעים, אני מתכנת מתחיל ב OOP,
עשיתי המון דברים יפים, טובים, ומקצועיים..
אך עכשיו נתקעתי בבעיה...
אני לא יודע איך להשתמש ב SQL של OOP, (MySqli).
כלומר, אני מנסה להכניס את הקוד הזה:
$mysqli = new mysqli("localhost", "root", "123456", "internet_database");
$result = $mysqli->query("SELECT * FROM my_costumer");
$result = $mysqli->query("SELECT * FROM my_costumer");
לתוך המחלקה function כאן:
<?php
include 'config.php';
include 'includes/emails.php';
class functions
{
//site infos
public $site = array('name'=>'Asite', 'salogan'=>'בניית אתרים', 'author'=>'אוטהור', 'description'=>'תאור', 'charset'=>'utf-8', 'lang'=>'he', 'email'=>'[email protected]', 'from'=>'[email protected]', 'phone'=>'080000000', 'maxh'=>'00:00', 'minh'=>'00:00', 'maxd'=>'א', 'mind'=>'ה');
//site links
public $links = array('sitecss'=>'SiteDesign/css/', 'sitejs'=>'SiteDesign/js/', 'siteimg'=>'SiteDesign/images/');
//admin func
public $admin = array('username'=>'username', 'password'=>'password');
//get_tamplete_name function
function get_tamplete_name ($tamplete_name)
{
return 'includes/'.$tamplete_name.'.php';
}
//get_page_name function
function get_page_name ($tamplete_name)
{
return 'includes/pages/'.$tamplete_name.'/body.php';
}
}
$functions = new functions();
?>
include 'config.php';
include 'includes/emails.php';
class functions
{
//site infos
public $site = array('name'=>'Asite', 'salogan'=>'בניית אתרים', 'author'=>'אוטהור', 'description'=>'תאור', 'charset'=>'utf-8', 'lang'=>'he', 'email'=>'[email protected]', 'from'=>'[email protected]', 'phone'=>'080000000', 'maxh'=>'00:00', 'minh'=>'00:00', 'maxd'=>'א', 'mind'=>'ה');
//site links
public $links = array('sitecss'=>'SiteDesign/css/', 'sitejs'=>'SiteDesign/js/', 'siteimg'=>'SiteDesign/images/');
//admin func
public $admin = array('username'=>'username', 'password'=>'password');
//get_tamplete_name function
function get_tamplete_name ($tamplete_name)
{
return 'includes/'.$tamplete_name.'.php';
}
//get_page_name function
function get_page_name ($tamplete_name)
{
return 'includes/pages/'.$tamplete_name.'/body.php';
}
}
$functions = new functions();
?>
ובאתר, נהיה לי השגיאה הבאה:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/a9016287/public_html/includes/functions.php on line 7
למה לעזאזל?!
אני לא יודע מה לעשות עם זה..
6 תשובות
ענה
ArielTador
ב
21 לינואר 2013
#
תסביר את עצמיך..
תבין מה רציתי לעשות כאן:
אני רוצה לדעת, איך בתוך המחלקה הזו, לשלוף למשתנה Site, דברים מה SQL, איך אני יכול לשלוף במחלקה הזו?
תן לי דוגמא לקוד.. או משהו..
functions.php
class functions
{
private $database;
private $sites;
public function __construct(mysqli $database)
{
$this->database = $database;
}
//you other code
// ....
public function get_sites()
{
if(null === $this->sites)
$this->load_sites_from_database();
return $this->sites;
}
private function load_sites_from_database()
{
$result = $this->database->query("SELECT * FROM my_costumer");
while($site = $result->fetch_assoc())
{
$this->sites[] = $site;
}
}
}
{
private $database;
private $sites;
public function __construct(mysqli $database)
{
$this->database = $database;
}
//you other code
// ....
public function get_sites()
{
if(null === $this->sites)
$this->load_sites_from_database();
return $this->sites;
}
private function load_sites_from_database()
{
$result = $this->database->query("SELECT * FROM my_costumer");
while($site = $result->fetch_assoc())
{
$this->sites[] = $site;
}
}
}
index.php
include 'config.php';
include 'includes/emails.php';
include 'functions.php';
$mysqli = new mysqli("localhost", "root", "123456", "internet_database");
$functions = new functions($mysqli);
print_r($functions->get_sites());
include 'includes/emails.php';
include 'functions.php';
$mysqli = new mysqli("localhost", "root", "123456", "internet_database");
$functions = new functions($mysqli);
print_r($functions->get_sites());
ענה
ArielTador
ב
21 לינואר 2013
#
אלכס, אתה יכול להסביר בבקשה מה עשית כאן? אני רוצה להבין טיפה כדי לדעת SQL ב OOP, אפשר בבקשה?
אני או מישהו אחר יכולים להסביר שורה שורה.
איזה שורה לא הבנת?
אין שום קשר בין OOP ל SQL והם לא משתנים פתאום למשהו אחר כשהם ביחד.
ענה
ArielTador
ב
21 לינואר 2013
#
איפה העלמת לי את המשתנה Site ?
איפה העלמת לי את המשתנה Link ?
איפה כל הפונקציות שהיו?
אתה יכול לעשות לי קוד שיוציא לי מהטבלה Settings את כל המערכים שהיו לי ב Site ?
תזכור שהחיבור ל SQLi נמצא ב config.php.
(: